๐ป JAVA/JUnit
2022.07.03
ํ๊ฒฝ Spring boot 2.7.1 Spring Security JUnit 5 Controller ํ
์คํธ๋ฅผ ํ๊ธฐ์ํด ๋ถํ์ํ ์์กด์ฑ๋ค์ ๊ฑท์ด๋ด๊ณ WebMvcTest ์ด๋
ธํ
์ด์
์ ๋ถ์ฌ์ ์ปจํธ๋กค๋ฌ ๋ ์ด์ด๋ง ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ํ
์คํธ๋ฅผ ์งํํ ์ ์์ต๋๋ค. WebMvcTest ์ด๋
ธํ
์ด์
์ ๋ถ์ด๊ฒ ๋๋ฉด, MVC ํ
์คํธ๋ฅผ ์ํ ์์กด์ฑ๋ค์ด Spring Contetxt์ ์ฌ๋ผ๊ฐ๊ฒ ๋ฉ๋๋ค. Using this annotation will disable full auto-configuration and instead apply only configuration relevant to MVC tests (i.e. @Controller, @ControllerAdvice, @JsonComponent, Converter/Generi..
๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
2022.05.06
System.getProperties๋ก ํ๋กํผํฐ ๊ฐ ๋ฐ๊ธฐ ๊ธฐ์กด์๋ ์ด๋ฐ์์ผ๋ก ๋๊ฒจ์ฃผ๋ฉด, $ java -jar XXX.jar arg1 arg2 arg3 ์๋ฐ์์๋ ์ด๋ ๊ฒ ๋ฐ์ผ๋ฉด ๋๋ค. public class Main { public static void main(String[] args) { String arg1 = args[0]; String arg2 = args[1]; String arg3 = args[2]; } } ๋ฌธ์ ๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๋ค๊ฐ ENV ๋ณ์๋ก ์คํ์ํค๊ฒ๋ ํ๋ ค๋๋ฐ ์๊พธ ENV๊ฐ ์๋ด๊ฒจ๋๊ฐ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋ค๊ฐ ๋ฐ๊ฒฌํ๋ค. ๋ฐ๋ก.. System.getProperty("key") ํ๋ผ๋ฏธํฐ ๋๊ฒจ์ค ๋๋, -D์ต์
์ผ๋ก -D{key}={value} ์ด๋ฐ์์ผ๋ก ๋๊ฒจ์ฃผ๋ฉด ๋๋ค. $ java -D..
๐ป JAVA/์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
2022.03.30
์ฝ๋ ์ ์ฒด ์ฝ๋๋ Github์ ์์ต๋๋ค :) TeamServiceTest @RunWith(SpringRunner.class) @SpringBootTest public class TeamServiceTest { @Autowired private TeamService teamService; @Before public void setup() { Team team = new Team(null, "team", new ArrayList()); for (int i = 1; i t.getMembers().get(0).getName()); } } TeamRepository @Repository public interface TeamRepository extends JpaRepository { } ์ํฉ Serivce๋จ์..
๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
2022.02.21
ํด์๋ฅผ ํตํ ์ํธํ Hash(ํด์)๋? ๋จ๋ฐฉํฅ ์ํธํ ๊ธฐ๋ฒ์ผ๋ก ํด์ ํจ์๋ฅผ ํตํด ์ํธํ ๋ ๋ฌธ์์ด์ ๋ง๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ex) SHA-256, Bcrypt .. ์ฌ์ฉ์์ ํจ์ค์๋๋ ํ๋ฌธ์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ์ํํ ์ผ์
๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ณดํต ํด์ ํจ์๋ฅผ ํตํด ์ํธํ๋ฅผ ์งํํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ทธ๋ ๊ฒ ์์ ํ ๊ฒ์ ์๋๋๋ค. ๊ณต๊ฒฉ์๊ฐ ๋ชจ๋ ํ๋ฌธ์ ํด์ํํ์ฌ ๋์กฐ๋ฅผ ํ์ฌ ํจ์ค์๋๋ฅผ ์์๋ผ ์๋ ์๋ค๋ ๋ป์
๋๋ค. ํด์ปค๋ ๋ฌดํ๋๋ก ๊ณต๊ฒฉ์ ํ๋ค๋ฉด ์ด๋ค ์ํธํ๋ฅผ ํด๋ ํจ์ค์๋๋ฅผ ์์๋ผ ์ ์์ ๊ฒ์
๋๋ค. ํ์ง๋ง ํด์ปค๋ค์ด ๋ฌดํ๋๋ก ๊ณต๊ฒฉ์ ํ ์ ์์๊น์? X ํด๋
ํ ๋ ์กฐ๊ธ์ด๋ผ๋ ๋ ์ํธํ๋ฅผ ํด์ ํด์ปค๋ค์๊ฒ ๋จ ๋ช์ด๋ผ๋ ์ง์ฐ์ํฌ ์ ์๋ค๋ฉด ํด์ปค๋ค์๊ฒ๋ ์น๋ช
์ ์ธ ์๊ฐ์ด ๋ ์ ์์ต๋๋ค. ๋๋ณด๊ธฐ ์ํธ๋ฅผ ํด๋
ํ๋๋ฐ ๊ฑธ๋ฆฌ..
๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
2022.01.22
application.properties people.name="iseunghan" people.age=26 people.city="Daejeon" Main.java public class Main { static String name; static String age; static String city; private static void read_properties() { // resource ์์น String resource = "META-INF/application.properties"; Properties properties = new Properties(); try { InputStream inputStream = Main.class.getClassLoader().getResourceAsStr..
๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
2022.01.22
์๋ฐ ํ๋ก์ ํธ๋ฅผ intellij์์ jar ํ์ผ ๋ง๋๋ ๋ฒ ๊ฐ๋จํ ํ๋ก์ ํธ ์์ฑ์ ํ์ต๋๋ค. hello world!๋ฅผ ์ถ๋ ฅํ๋ ๋ฉ์ธ ํด๋์ค์
๋๋ค. cmd + :๋ก ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋๋ค. (Mac OS ๋จ์ถํค) Artifacts -> + -> JAR -> From modules ... ํด๋ฆญ! Main Class๋ฅผ ์ง์ ํด์ค๋๋ค. ์ด๋ ํจํค์ง๋ช
๊น์ง ๋ค ์ ์ด์ค์ผ ํฉ๋๋ค! ์ดํ์ Apply -> OK๋ฅผ ๋๋ฌ์ค๋๋ค. ์ด์ intellij ์๋จ๋ฐ์์ build -> artifacts๋ฅผ ํด๋ฆญํด์ค๋๋ค. build๋ฅผ ํด๋ฆญํด์ค๋๋ค. out/artifacts/[project๋ช
]์ jar ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. jar ํ์ผ ์คํํ๊ธฐ ์ฌ๋ฐ๋ฅด๊ฒ ์คํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค!